package com.aaa.tars.service;

import com.aaa.tars.entity.Menu;
import com.aaa.tars.entity.Role;

import com.aaa.tars.util.Page;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface RoleService {

    //查询所有角色
    List<Role> queryAll();
    /**
     * 分页查询
     *
     * @param page 分页对象
     * @return 查询结果
     */
    PageInfo queryByPage(Page<Role> page);

    /**
     * 通过主键查询单条数据
     *
     * @param roleId 主键
     * @return 单条数据
     */
    Role queryById(Integer roleId);

    /**
     * 新增数据
     *
     * @param role 实体
     * @return 新增结果
     */
    int insert(Role role);

    /**
     * 编辑数据
     *
     * @param role 实体
     * @return 编辑结果
     */
    int update(Role role);

    /**
     * 删除数据
     *
     * @param roleId 主键
     * @return 删除是否成功
     */
    int deleteById(Integer roleId);


    /**
     * 根据角色名查询
     *
     * @param roleName 角色名
     * @return 角色列表
     */
    List<Role> queryByRoleName(String roleName);

    //获取角色权限
    List<Menu> getMenusByRoleId(Integer roleId);
    void assignMenus(Integer roleId,List<Integer> menuIds);
}
